#!/usr/bin/python3
# -*- coding:utf-8 -*-
""""
   @Author: 叶建伟
   @Email: yejw46507@hundsun.com
   @Time: 2022/6/8 9:37
   @File: 核查场景新增_客户信息异常.py
"""
import time

from 基础公共脚本.步骤检查_hui2 import check_table, check_table_rows,check_tips_msg
from 基础公共脚本.公共方法_hui2 import open_menu,FE
from 基础公共脚本.common_util import auto_fill_form,check_label,click_submit,close_input_null
from 数据核查.testUnit.check_scene_util import scene_check,scene_input

#正例
def check_scene_add_unusual(input_data=None, ui_expect=None):
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': '数据核查/核查场景'})
    FE.button("新增场景").click()
    time.sleep(1)
    add_unusual(input_data)
    click_submit()
    # 检查查询结果
    check_table(input_data=None, ui_expect=ui_expect)

#反例
def check_scene_add_unusual_contrary(input_data=None, ui_expect=None):
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': '数据核查/核查场景'})
    FE.button("新增场景").click()
    time.sleep(1)
    add_unusual(input_data)
    click_submit()
    # 检查查询结果
    check_tips_msg(ui_expect=ui_expect)

def check_scene_add_unusual_cancel(input_data=None, ui_expect=None):
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': '数据核查/核查场景'})
    # 表单填入
    FE.button("新增场景").click()
    time.sleep(1)
    auto_fill_form("场景类型", input_data.get("必填项"))
    not_required(input_data.get("非必填项"))
    addr_fill(input_data.get("非必填项"))


    # 检查查询结果
    click_submit()
    check_table(input_data=None, ui_expect=ui_expect)

def check_scene_add_unusual_cancel(input_data=None, ui_expect=None):
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': '数据核查/核查场景'})
    # 表单填入
    FE.button("新增场景").click()
    time.sleep(1)
    auto_fill_form("场景类型", input_data.get("必填项"))
    not_required(input_data.get("非必填项"))
    addr_fill(input_data.get("非必填项"))


    # 检查查询结果
    click_submit()
    check_table_rows(input_data=None, ui_expect=ui_expect)


def add_unusual(input_data):
    if input_data.get("必填项").get("场景类型"):
        auto_fill_form("场景类型", input_data.get("必填项"))
        not_required(input_data.get("非必填项"))
        addr_fill(input_data.get("非必填项"))
    else:
        close_input_null("场景类型")

def not_required(input_data):
    if input_data.get("名称含非法字符"):
        check_label("名称含非法字符")
    if input_data.get("居民身份证号无效"):
        check_label("居民身份证号无效")
    if input_data.get("性别和身份证号不符"):
        check_label("性别和身份证号不符")
    if input_data.get("证件地址长度"):
        check_label("证件地址长度")
    if input_data.get("地址长度"):
        check_label("地址长度")

def addr_fill(input_data):
    if input_data.get("证件地址长度"):
        tempList = input_data.get("证件地址长度").split("&")
        if tempList[0]:
            scene_check("证件地址长度", tempList[0])
        scene_input("证件地址长度", "长度", tempList[1])
    if input_data.get("地址长度"):
        tempList = input_data.get("地址长度").split("&")
        if tempList[0]:
            scene_check(" 地址长度", tempList[0])
        scene_input(" 地址长度", "长度", tempList[1])
